package com.m.utils;


import java.util.List;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder;

/**
 * 用户
 *
 * @author monxz
 * @Date  2021年1月29日下午6:34:18
 * @Des
 *
 */
public class UserUtil {
	
	
	/**
	 * 获取到当前用户
	 * @param sysFlag 系统标识
	 * @return
	 */
	public static GlobleSysUser getUser(String sysFlag) {
		Authentication  auth=SecurityContextHolder.getContext().getAuthentication();
		GlobleSysUser sysUser = (GlobleSysUser) auth.getPrincipal();		
		return sysUser;
	}
	
	
	/**
	 * 获取到用户名称
	 * @param sysFlag
	 * @return
	 */
	public static String getUserName(String sysFlag) {
		return getUser(sysFlag).getUserName();
	}
	
	
	/**
	 * 获取用户Id
	 * @param sysFlag
	 * @return
	 */
	public static String getUserId(String sysFlag) {		
		return getUser(sysFlag).getUserId();
	}
   
	/**
	 * 获取到用户角色
	 * @param sysFlag
	 * @return
	 */
	public static List<String> getUserRoles(String sysFlag){
		return getUser(sysFlag).getRoles();
	}
	
	/**
	 * 获取到用户权限
	 * @param sysFlag
	 * @return
	 */
	public static List<String> getUerPermissions(String sysFlag){
		return getUser(sysFlag).getPermissions();
	}
    
	/**
	 * 获取到角色最大ID
	 * @param sysFlag
	 * @return
	 */
	public static Integer getUserMaxRoleLevel(String sysFlag) {
		return getUser(sysFlag).getMaxRoleLevel();
	}
}
